﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MultiGed2.Topologie
{
 /// <summary>
 /// Rozliseni kategorii dopraven.
 /// </summary>
 public enum KategorieDopravny {
  /// <summary>
  /// Prujezdna stanice.
  /// </summary>
  Zst,
  /// <summary>
  /// Dopravna bez dopravnich koleji (hradlo, odbocka, ...).
  /// </summary>
  Pomocna,
  /// <summary>
  /// Dopravna mimo rizenou oblast.
  /// </summary>
  Vnejsi,
  /// <summary>
  /// Obvod depa.
  /// </summary>
  Depo
 }

 /// <summary>
 /// Objekt dopravny (uzlu) v oblasti.
 /// </summary>
 public class Dopravna
 {
  private char _kod;
  /// <summary>
  /// Kod dopravny pro oznaceni v datech.
  /// </summary>
  public char kod { get { return _kod; } }

  private string _zkratka;
  /// <summary>
  /// Trojpismenna zkratka dopravny.
  /// </summary>
  public string zkratka { get { return _zkratka; } }

  private string _nazev;
  /// <summary>
  /// Cely nazev dopravny.
  /// </summary>
  public string nazev { get { return _nazev; } }

  private KategorieDopravny _kategorie;
  /// <summary>
  /// Kategorie dopravny (ZST, UZST, vnejsi, hradlo, depo).
  /// </summary>
  public KategorieDopravny kategorie { get { return _kategorie; } }

  /// <summary>
  /// Konstruktor dopravny.
  /// </summary>
  /// <param name="kod">Kod dopravny pro oznaceni v datech.</param>
  /// <param name="zkratka">Trojpismenna zkratka dopravny.</param>
  /// <param name="nazev">Cely nazev dopravny.</param>
  /// <param name="kategorie">Kategorie dopravny (vnejsi, hradlo, depo).</param>
  public Dopravna(char kod, string zkratka, string nazev, KategorieDopravny kategorie)
  {
   _kod = kod;
   _zkratka = zkratka;
   _nazev = nazev;
   _kategorie = kategorie;
  }

  public override string ToString()
  {
   return zkratka;
  }
  /*
  /// <summary>
  /// Konstruktor dopravny (obycejna ZST).
  /// </summary>
  /// <param name="kod">Kod dopravny pro oznaceni v datech.</param>
  /// <param name="zkratka">Trojpismenna zkratka dopravny.</param>
  /// <param name="nazev">Cely nazev dopravny.</param>
  public Dopravna(char kod, string zkratka, string nazev)
  {
   _kod = kod;
   _zkratka = zkratka;
   _nazev = nazev;
   _kategorie = KategorieDopravny.Zst;
  }
  */
 }
}
